package com.ecnu.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ecnu.common.core.domain.AjaxResult;
import com.ecnu.common.core.domain.model.LoginUser;
import com.ecnu.common.core.page.TableDataInfo;
import com.ecnu.system.domain.SoftwareTool;
import com.ecnu.system.domain.dto.EvaluateListDTO;
import com.ecnu.system.domain.dto.SoftwareDTO;

import javax.validation.Valid;
import java.lang.reflect.InvocationTargetException;

public interface ISoftwareToolService extends IService<SoftwareTool> {
    TableDataInfo getList(EvaluateListDTO dto, LoginUser loginUser) throws InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException;

    AjaxResult edit(@Valid SoftwareDTO dto, LoginUser loginUser);

    TableDataInfo getListForUser(EvaluateListDTO dto, LoginUser loginUser) throws InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException;
}
